package WuZiQi;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


//  画布类
//  继续父类
//  接口实现   当前类 要实现接口方法 重写方法  alt + enter 快捷 自动生成
public class GamePanel extends JPanel implements ActionListener {
    //  1  加选项   开始游戏
    //  声明菜单按钮的属性
    private JMenuBar jmb = null;
    //  菜单要使用的话  需要用到 窗体对象
    private GameFrame mainFrame = null;
    //  构造方法
    //  创建画布对象  把窗体对象 传入到当前画布中
    public GamePanel(GameFrame mainFrame) {
        this.mainFrame = mainFrame;
        //  设置冲突
        this.setLayout(null);
        this.setOpaque(false);
        //  创建菜单
        createMenu();
    }

    private void createMenu() {
        //  菜单栏
        jmb = new JMenuBar();
        // 调用方法  创建一个字体对象
        Font font = createFont();
        //  创建一级菜单
//        JMenu jMenu1 = new JMenu("游戏");
        //  s:  idea工具 对开发者的 一种参数提示
        JMenu jMenu1 = new JMenu("游戏");
        //  给菜单 加上 字体设置
        jMenu1.setFont(font);
        //  添加二级菜单
        JMenuItem jmi1 = new JMenuItem("开始游戏");
        // 把二级菜单 加到一级菜单中
        jmi1.setFont(font);
        jMenu1.add(jmi1);
        JMenuItem jmi2 = new JMenuItem("退出游戏");
        // 把二级菜单 加到一级菜单中
        jmi2.setFont(font);
        jMenu1.add(jmi2);

        //  帮助菜单
        JMenu jMenu2 = new JMenu("帮助");
        jMenu2.setFont(font);
        //  添加二级菜单
        JMenuItem jmi3 = new JMenuItem("游戏规则");
        // 把二级菜单 加到一级菜单中
        jmi3.setFont(font);
        jMenu2.add(jmi3);
        JMenuItem jmi4 = new JMenuItem("操作");
        // 把二级菜单 加到一级菜单中
        jmi4.setFont(font);
        jMenu2.add(jmi4);

        //  把一级菜单加入到 bar
        jmb.add(jMenu1);
        jmb.add(jMenu2);
        // 窗体对象 整体
        mainFrame.setJMenuBar(jmb);

        //  监听 菜单的事件
        jmi1.addActionListener(this);
        jmi2.addActionListener(this);
        jmi3.addActionListener(this);
        jmi4.addActionListener(this);
        //   标记 每一个  子菜单  的信息
        jmi1.setActionCommand("start");
        jmi2.setActionCommand("exit");
        jmi3.setActionCommand("rule");
        jmi4.setActionCommand("help");
    }

    //  当用户点击了 某个菜单  后台应该获取到这个操作
    @Override
    public void actionPerformed(ActionEvent e) {
        //  细化   到底 确认 哪一个菜单 被点击了
        System.out.println("菜单被点击了");
        //  获取子菜单的 特有信息
        String command = e.getActionCommand();
        //  没有设置  默认 输出 子菜单的 文本信息
        System.out.println("子菜单特有指令："+command);
        //  加上  菜单 对应的  代码的  具体业务
    }
    //  设置字体
    private Font createFont(){
        return new Font("思源宋体",Font.BOLD,20);
    }


}
